@use '../../_styles/mixin.scss' as *;
@use './var.scss';

.o-message {
  display: flex;
  align-items: var(--message-align);
  padding: var(--message-padding);
  background-color: var(--message-bg-color);
  border-radius: var(--message-radius);
  box-shadow: var(--message-shadow);
  width: fit-content;
  transition: all var(--o-duration-m1) var(--o-easing-standard-out);
  text-align: center;
}

.o-message-content {
  font-size: var(--message-text-size);
  line-height: var(--message-text-height);
  color: var(--message-color);
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: var(--message-text-align);
  word-break: var(--message-word-break);
  display: -webkit-box;
  -webkit-line-clamp: var(--message-content-max-row);
  -webkit-box-orient: vertical;
}

.o-message-icon {
  font-size: var(--message-icon-size);
  color: var(--message-icon-color);
  margin-right: var(--message-icon-gap);
  display: inline-flex;
  align-items: center;
}

.o-message-close {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin-left: calc(var(--message-icon-gap) * 2);
  font-size: var(--message-icon-size);
  color: var(--message-icon-close-color);
  transition: color var(--o-duration-s) var(--o-easing-standard);

  @include hover {
    color: var(--message-icon-close-color-hover);
  }

  &:active {
    color: var(--message-icon-close-color-active);
  }
}

.o-message-list {
  position: fixed;
  z-index: 1001;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.o-message-list-top {
  top: var(--message-list-offset);
  .o-message + .o-message {
    margin-top: var(--message-gap);
  }
}

.o-message-list-bottom {
  bottom: var(--message-list-offset);
  .o-message + .o-message {
    margin-top: var(--message-gap);
  }
}

.o-message-fade-enter-from {
  opacity: 0;
}

.o-message-fade-enter-active,
.o-message-fade-leave-active {
  transition: all var(--o-duration-m1) var(--o-easing-standard-out);
}

.o-message-fade-leave-to {
  opacity: 0;
}
